home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / libraries / pchglib14.lha / include / iff / PCHG.h
Encoding:
C/C++ Source or Header  |  1992-11-15  |  1.3 KB  |  79 lines

  1. #ifndef    PCHG_H
  2. #define    PCHG_H
  3. /*
  4. **    $Filename: iff/pchg.h $
  5. **    $Revision: 0.6 $
  6. **
  7. ** Definitions for the PCHG chunk
  8. */
  9.  
  10. #ifndef EXEC_TYPES_H
  11. #include <exec/types.h>
  12. #endif
  13.  
  14. #ifndef IFF_IFFPARSE_H
  15. #include <libraries/iffparse.h>
  16. #endif
  17.  
  18. #define    ID_PCHG        MAKE_ID('P','C','H','G')
  19.  
  20. /* Compression modes */
  21.  
  22. #define PCHG_COMP_NONE 0
  23. #define PCHG_COMP_HUFFMANN 1
  24.  
  25. /* Flags */
  26.  
  27. #define PCHGB_12BIT            (0)
  28. #define PCHGB_32BIT            (1)
  29. #define PCHGB_USE_ALPHA        (2)
  30.  
  31.  
  32. #define PCHGF_12BIT            (1<<0)    /* Use SmallLineChanges */
  33. #define PCHGF_32BIT            (1<<1)    /* Use BigLineChanges    */
  34. #define PCHGF_USE_ALPHA        (1<<2)    /* Meaningful only of PCHGB_32BIT is on: use the Alpha
  35.                                                     channel info */
  36.  
  37. /* Structures for the PCHG chunk */
  38.  
  39. struct PCHGHeader {
  40.    UWORD Compression;
  41.    UWORD Flags;
  42.    WORD  StartLine;
  43.    UWORD LineCount;
  44.    UWORD ChangedLines;
  45.    UWORD MinReg;
  46.    UWORD MaxReg;
  47.    UWORD MaxChanges;
  48.    ULONG TotalChanges;
  49. };
  50.  
  51. struct PCHGCompHeader {
  52.    ULONG CompInfoSize;
  53.    ULONG OriginalDataSize;
  54. };
  55.  
  56. struct SmallLineChanges {
  57.    UBYTE ChangeCount16;
  58.    UBYTE ChangeCount32;
  59. /*   UWORD PaletteChange[];*/
  60. };
  61.  
  62. struct BigLineChanges {
  63.    UWORD ChangeCount;
  64. /*   struct BigPaletteChange PaletteChange[];*/
  65. };
  66.  
  67. struct BigPaletteChange {
  68.    UWORD Register;
  69.    UBYTE Alpha, Red, Blue, Green;
  70. };
  71.  
  72. /* Errors */
  73.  
  74. #define PCHGERR_NOMEM            (-1)
  75. #define PCHGERR_UNKNOWNCOMP    (-2)
  76.  
  77.  
  78. #endif
  79.